package com.neihe.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.neihe.entity.File;

import java.util.List;

/**
 * <p>
 * 物理文件信息表 服务类
 * </p>
 *
 * @author neihe
 * @since 2025-01-05
 */
public interface IFileService extends IService<File> {

    /**
     * 保存物理文件记录
     *
     * @param filename   文件名
     * @param realPath   存储位置
     * @param totalSize  文件大小
     * @param identifier 唯一标识
     * @param mimeType   文件预览的响应头Content-Type的值
     * @param userId     用户ID
     * @return 文件记录
     */
    File saveFile(String filename, String realPath, Long totalSize, String identifier, String mimeType, Long userId);

    /**
     * 查询用户的文件集合
     *
     * @param userId     用户ID
     * @param identifier 唯一标识
     * @return 结果
     */
    List<File> getFileList(Long userId, String identifier);
}
